Does anyone know what this warning means and if I need to worry about it? Maybe also how to fix it?
Here's the code it's complaining about:
Code:
void DTRACE(    int  level,
	const char*  fmt,
		... )
{
#if defined( DEBUG ) && defined( ANSI )
	va_list	pArgs;
	char*	pArg;
	char	cArg;
	char	c;
	int	iArg;
	long	lArg;

	if ( GetDebugLevel() < level )
	{
		return;
	}

	va_start( pArgs );  /**** Warning is here. ****/

	while ( (c = *fmt++) )
	{
		if ( c != '%' )
		{
			putchar( c );
			continue;
		}

		c = *fmt++;

		switch ( c )
		{
		case 'c':
			cArg = va_arg( pArgs, int );
			putchar( cArg );
			break;
		case 'i':
			iArg = va_arg( pArgs, int );
			printf( "%d", iArg );
			break;
		case 'l':
			lArg = va_arg( pArgs, long );
			printf( "%ld", lArg );
			break;
		case 'u':
			c = *fmt++;

			switch ( c )
			{
			case 'c':
				cArg = va_arg( pArgs, unsigned int );
				putchar( cArg );
				break;
			case 'i':
				iArg = va_arg( pArgs, unsigned int );
				printf( "%ud", iArg );
				break;
			case 'l':
				lArg = va_arg( pArgs, unsigned long );
				printf( "%lu", lArg );
				break;
			default:
				puts( "Error!  Unknown unsigned format specifier in DTRACE()!" );
				break;
			}
			break;
		case 's':
			pArg = va_arg( pArgs, char* );
			puts( pArg );
			break;
		default:
			puts( "Error!  Unknown format specifier in DTRACE()!" );
			break;
		}
	} /* End of while */

	va_end( pArgs );
#endif
}